/**
 * 替换打包后的敏感字符串
 */

const fs = require('fs')

// 要替换的敏感信息
const options = [
  { search: 'owen23355@gmail.com', replace: '' },
  { search: 'trash@rubaxa.org', replace: '' },
  { search: 'git@github.com', replace: '' }
]

// 替换方法
function replaceString(file) {
  try {
    let stringData = fs.readFileSync(`./dist/static/js/${file}`).toString()
    options.forEach(op => {
      if (stringData.includes(op.search)) {
        stringData = stringData.replace(op.search, op.replace)
      }
    })
    return stringData
  } catch (err) {
    console.error('代码脱敏输出时异常：', err)
    return null
  }
}

// 获取打包后的文件
const files = fs.readdirSync('./dist/static/js')
files.forEach((file, index) => {
  // 要处理文件的名称，根据自己的需要配置
  if (file.startsWith('chunk-libs') && file.endsWith('.js')) {
    const replacedString = replaceString(file)
    if (replacedString) {
      // 将替换后的内容输出
      fs.writeFile(`./dist/static/js/${file}`, replacedString, function(err) {
        if (err) {
          return console.error('代码脱敏输出时异常：', err)
        }
        console.log('敏感字符替换完成(*^_^*)')
      })
    }
  }
})
